library(ggplot2)
library(plotly)
# enter in all my data
time_data <- c(15/60,15/60,20/60,10/60,30/60,30/60,
10/60,5,3.5,7.75,5.5,9.5)
date_data <- c("8/29/2023", "9/7/2023",
"8/29/2023", "9/3/2023",
"9/17/2023", "9/24/2023",
"9/10/2023", "9/24/2023",
"10/1/2023", "10/8/2023",
"10/9/2023", "10/10/2023")
duty <- c("starting Github repository",
"starting Github repository",
"Selecting Dataset",
"Selecting Dataset",
"Describing Dataset",
"Describing Dataset",
"Starting R file",
paste("Making Shiny App",
"histogram", "word cloud", sep = "\n"),
paste("Making Shiny App", "line graph"),
paste("Making Shiny App", "network",
sep = "\n"),
paste("Making Shiny App", "network",
"map testing", "documentation",
sep = "\n"),
paste("Making Shiny App", "network",
"extra data", "documentation",
"video", "time chart",
sep = "\n"))
# turn date text into a date
# combine all the data into a dataframe
# order by the date
date_data %<>% as.Date(format="%m/%d/%Y")
time_log_data <- data.frame(time_data, date_data, duty)
time_log_data <- time_log_data[order(time_log_data$date_data),]
# plot the data and make the plot fill in green
# change the axis names
# change the tic breaks
# unfortunately it does not add more date lables :(
p <- ggplot(time_log_data, aes(y=time_data, x=date_data, label = duty))+
geom_bar(stat = "identity", fill = "lightgreen")+
xlab("Date")+
ylab("Hrs Spent") +
scale_x_date(date_breaks = "7 day")+
scale_x_date(date_minor_breaks = "1 day")
Scale for x is already present.
Adding another scale for x, which will replace the existing scale.
# use plotly to add hover information and interactiveness
ggplotly(p)
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQoNCg0KYGBge3J9DQpsaWJyYXJ5KGdncGxvdDIpDQpsaWJyYXJ5KHBsb3RseSkNCg0KIyBlbnRlciBpbiBhbGwgbXkgZGF0YQ0KdGltZV9kYXRhIDwtIGMoMTUvNjAsMTUvNjAsMjAvNjAsMTAvNjAsMzAvNjAsMzAvNjAsDQogICAgICAgICAgICAgICAxMC82MCw1LDMuNSw3Ljc1LDUuNSw5LjUpDQpkYXRlX2RhdGEgPC0gYygiOC8yOS8yMDIzIiwgIjkvNy8yMDIzIiwNCiAgICAgICAgICAgICAgICI4LzI5LzIwMjMiLCAiOS8zLzIwMjMiLA0KICAgICAgICAgICAgICAgIjkvMTcvMjAyMyIsICI5LzI0LzIwMjMiLA0KICAgICAgICAgICAgICAgIjkvMTAvMjAyMyIsICI5LzI0LzIwMjMiLA0KICAgICAgICAgICAgICAgIjEwLzEvMjAyMyIsICIxMC84LzIwMjMiLA0KICAgICAgICAgICAgICAgIjEwLzkvMjAyMyIsICIxMC8xMC8yMDIzIikNCmR1dHkgPC0gYygic3RhcnRpbmcgR2l0aHViIHJlcG9zaXRvcnkiLA0KICAgICAgICAgICJzdGFydGluZyBHaXRodWIgcmVwb3NpdG9yeSIsDQogICAgICAgICAgIlNlbGVjdGluZyBEYXRhc2V0IiwNCiAgICAgICAgICAiU2VsZWN0aW5nIERhdGFzZXQiLA0KICAgICAgICAgICJEZXNjcmliaW5nIERhdGFzZXQiLA0KICAgICAgICAgICJEZXNjcmliaW5nIERhdGFzZXQiLA0KICAgICAgICAgICJTdGFydGluZyBSIGZpbGUiLA0KICAgICAgICAgIHBhc3RlKCJNYWtpbmcgU2hpbnkgQXBwIiwNCiAgICAgICAgICAgICJoaXN0b2dyYW0iLCAid29yZCBjbG91ZCIsIHNlcCA9ICJcbiIpLA0KICAgICAgICAgIHBhc3RlKCJNYWtpbmcgU2hpbnkgQXBwIiwgImxpbmUgZ3JhcGgiKSwNCiAgICAgICAgICBwYXN0ZSgiTWFraW5nIFNoaW55IEFwcCIsICJuZXR3b3JrIiwgDQogICAgICAgICAgICBzZXAgPSAiXG4iKSwNCiAgICAgICAgICBwYXN0ZSgiTWFraW5nIFNoaW55IEFwcCIsICJuZXR3b3JrIiwNCiAgICAgICAgICAgICJtYXAgdGVzdGluZyIsICJkb2N1bWVudGF0aW9uIiwgDQogICAgICAgICAgICBzZXAgPSAiXG4iKSwNCiAgICAgICAgICBwYXN0ZSgiTWFraW5nIFNoaW55IEFwcCIsICJuZXR3b3JrIiwNCiAgICAgICAgICAgICJleHRyYSBkYXRhIiwgImRvY3VtZW50YXRpb24iLA0KICAgICAgICAgICAgInZpZGVvIiwgInRpbWUgY2hhcnQiLA0KICAgICAgICAgICAgc2VwID0gIlxuIikpDQoNCiMgdHVybiBkYXRlIHRleHQgaW50byBhIGRhdGUNCiMgY29tYmluZSBhbGwgdGhlIGRhdGEgaW50byBhIGRhdGFmcmFtZQ0KIyBvcmRlciBieSB0aGUgZGF0ZQ0KZGF0ZV9kYXRhICU8PiUgYXMuRGF0ZShmb3JtYXQ9IiVtLyVkLyVZIikNCnRpbWVfbG9nX2RhdGEgPC0gZGF0YS5mcmFtZSh0aW1lX2RhdGEsIGRhdGVfZGF0YSwgZHV0eSkNCnRpbWVfbG9nX2RhdGEgPC0gdGltZV9sb2dfZGF0YVtvcmRlcih0aW1lX2xvZ19kYXRhJGRhdGVfZGF0YSksXQ0KDQojIHBsb3QgdGhlIGRhdGEgYW5kIG1ha2UgdGhlIHBsb3QgZmlsbCBpbiBncmVlbg0KIyBjaGFuZ2UgdGhlIGF4aXMgbmFtZXMNCiMgY2hhbmdlIHRoZSB0aWMgYnJlYWtzDQojICAgICAgIHVuZm9ydHVuYXRlbHkgaXQgZG9lcyBub3QgYWRkIG1vcmUgZGF0ZSBsYWJsZXMgOigNCnAgPC0gZ2dwbG90KHRpbWVfbG9nX2RhdGEsIGFlcyh5PXRpbWVfZGF0YSwgeD1kYXRlX2RhdGEsIGxhYmVsID0gZHV0eSkpKw0KICBnZW9tX2JhcihzdGF0ID0gImlkZW50aXR5IiwgZmlsbCA9ICJsaWdodGdyZWVuIikrDQogIHhsYWIoIkRhdGUiKSsNCiAgeWxhYigiSHJzIFNwZW50IikgKyANCiAgc2NhbGVfeF9kYXRlKGRhdGVfYnJlYWtzID0gIjcgZGF5IikrDQogIHNjYWxlX3hfZGF0ZShkYXRlX21pbm9yX2JyZWFrcyA9ICIxIGRheSIpDQoNCiMgdXNlIHBsb3RseSB0byBhZGQgaG92ZXIgaW5mb3JtYXRpb24gYW5kIGludGVyYWN0aXZlbmVzcw0KZ2dwbG90bHkocCkNCmBgYA0KDQo=